package com.yunhe.common.model.data;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.util.Date;
import java.util.Objects;

/**
 * 储能单元收益(15分钟)记录对象
 * @author liuronglei
 * @desc 储能单元收益(15分钟)记录对象
 */
public class CostProfitDetailRecord {

    private Long devCode;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date dtime;

    private Double chargeIncome;

    private Double dischargeIncome;

    private Double val;

    private Double chargeVal;

    private Double disChargeVal;

    private Double price;


    public Date getDtime() {
        return dtime;
    }

    public void setDtime(Date dtime) {
        this.dtime = dtime;
    }

    public Double getVal() {
        return val;
    }

    public void setVal(Double val) {
        this.val = val;
    }

    public Double getChargeVal() {
        return chargeVal;
    }

    public void setChargeVal(Double chargeVal) {
        this.chargeVal = chargeVal;
    }

    public Double getPrice() {
        return price;
    }

    public void setPrice(Double price) {
        this.price = price;
    }

    public Double getDisChargeVal() {
        return disChargeVal;
    }

    public void setDisChargeVal(Double disChargeVal) {
        this.disChargeVal = disChargeVal;
    }

    public Double getChargeIncome() {
        return chargeIncome;
    }

    public void setChargeIncome(Double chargeIncome) {
        this.chargeIncome = chargeIncome;
    }

    public Double getDisChargeIncome() {
        return dischargeIncome;
    }

    public void setDischargeIncome(Double dischargeIncome) {
        this.dischargeIncome = dischargeIncome;
    }

    public Long getDevCode() {
        return devCode;
    }

    public void setDevCode(Long devCode) {
        this.devCode = devCode;
    }

    public Double getDischargeIncome() {
        return dischargeIncome;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        CostProfitDetailRecord that = (CostProfitDetailRecord) o;
        return Objects.equals(devCode, that.devCode) &&
                Objects.equals(dtime, that.dtime) &&
                Objects.equals(chargeIncome, that.chargeIncome) &&
                Objects.equals(dischargeIncome, that.dischargeIncome) &&
                Objects.equals(val, that.val) &&
                Objects.equals(chargeVal, that.chargeVal) &&
                Objects.equals(disChargeVal, that.disChargeVal) &&
                Objects.equals(price, that.price);
    }

    @Override
    public int hashCode() {
        return Objects.hash(devCode, dtime, chargeIncome, dischargeIncome, val, chargeVal, disChargeVal, price);
    }
}
